package LCR;

public class getIntersectionNode2 {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode sa = headA;
        ListNode sb = headB;
        int lena =0;
        int lenb = 0;
        while(sa != null) {
            sa = sa.next;
            lena++;
        }
        while(sb != null) {
            sb = sb.next;
            lenb++;
        }
        int s = lena - lenb;
        if(s < 0) {
            sa = headB;
            sb = headA;
            s = -s;
        }else {
            sa = headA;
            sb = headB;
        }

        while(s >0) {
            sa = sa.next;
            s--;
        }
        while(sa != sb) {
            sa = sa.next;
            sb = sb.next;
        }

        return sa==sb ? sa : null;

    }
}
